library(sasld) # ------------------------------------------------------------------- # ATTENZIONE: la funzione sample e' stata modificata # a partire da R 3.6.0 per cui i "vecchi risultati" # non posso essere riprodotti di default # http://hostingwin.unitn.it/micciolo/PeM/01-rng.pdf # ------------------------------------------------------------------- # se si vogliono riprodurre i risultati dei Laboratori # con le versioni più recenti di R va eseguita la seguente istruzione # ------------------------------------------------------------------- RNGkind(sample.kind="Rounding") # ------------------------------------------------------------------- # 1 - pag. 567-568 tbl <- c(268,41,32,32,28,120,41,20,12,121) ptbl <- prop.table(tbl) region <- c("Florida","Hawaii","California","Sud Carolina", "Nord Carolina","Australia","Sud Africa","Brasile","Bahamas","Altri") ptbl <- prop.table(tbl) data.frame(Paesi=region,Frequenze=tbl,Proporzioni=round(ptbl,3), Percentuali=round(ptbl*100,1)) # 2 - pag. 568-569 x <- c(0,340,70,140,200,180,210,150,100,130, 140,180,190,160,290,50,220,180,200,210) brk <- c(0,40,80,120,160,200,240,280,320,360) xx <- cut(x,brk,right=FALSE) tbl <- table(xx) ptbl <- prop.table(tbl) data.frame(Intervalli=names(tbl), Frequenze=as.numeric(tbl), Proporzioni=round(as.numeric(ptbl),3), Percentuali=round(as.numeric(ptbl)*100,1)) # 3 - pag. 569 data(ny) plot(ny$YEAR,ny$ANNUAL,type="b",pch=19,xlab="Anno", ylab="Temperatura Media Annuale") lines(lowess(ny$ANNUAL ~ ny$YEAR),lwd=2) # 4 - pag. 569-571 x <- c(0,340,70,140,200,180,210,150,100,130, 140,180,190,160,290,50,220,180,200,210) mean(x) median(x) c(sum(x),length(x),sum(x)/length(x)) sort(x) # proprietà della media dlt <- x - mean(x) sum(dlt) # y <- numeric(341) k <- 0 for (i in c(0:340)) { dlt <- x - i k <- k+1 y[k] <- sum(dlt^2) } z <- c(0:340) # zoom ok <- which((z > 150) & (z < 184)) plot(z[ok],y[ok],type="l",xlab="x",ylab="Somma dei quadrati degli scarti dalla media") # l'equazione della parabola sum(x^2) 2*sum(x) length(x) # 5 - pag. 571-572 CO2 <- c(0.3,0.9,1.4,1.8,1.9,4.9,10.8,18.9) mean(CO2) median(CO2) CO2[CO2 == 18.9] <- 90 mean(CO2) median(CO2) # studio di sensibilità CO2 <- c(0.3,0.9,1.4,1.8,1.9,4.9,10.8,18.9) for (i in 1:8) print(c(round(CO2[i],1),round(mean(CO2[-i]),2), round(median(CO2[-i]),2))) # Media, mediana, outlier e dimensione del campione x <- c(0.3,0.9,1.4,1.8,1.9,4.9,10.8,18.9) c(mean(x),median(x)) y <- c(x,90); c(mean(y),median(y)) set.seed(573864) y <- sample(x,size=50,replace=TRUE) c(mean(y),median(y)) y <- c(y,90); c(mean(y),median(y)) set.seed(573864) y <- sample(x,size=1000,replace=TRUE) c(mean(y),median(y)) y <- c(y,90); c(mean(y),median(y)) set.seed(573864) y <- sample(x,size=100000,replace=TRUE) c(mean(y),median(y)) y <- c(y,90); c(mean(y),median(y)) # 6 - pag. 573 x <- c(0,0,0,2,4,4,4) dlt <- x - mean(x) dlt2 <- dlt^2 dev <- sum(dlt2) v <- sum(dlt2)/(length(x)-1) sqrt(v) sd(x) fem <- c(0,2,2,2,2,2,4) sd(fem)